home *** CD-ROM | disk | FTP | other *** search
/ Ultra 33 Video Bundle / Ultra 33 Video Bundle - Disc 3.iso / disk1 / corpins.ms_ / corpins.ms
Text File  |  1999-12-31  |  7KB  |  241 lines

  1. '**************************************************************************
  2. '*                     Photo Screen Saver Installation
  3. '**************************************************************************
  4.  
  5. '$DEFINE DEBUG  ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8. '$INCLUDE 'msdetect.inc'
  9.  
  10. ''Dialog ID's
  11. CONST WELCOME       = 100
  12. CONST ASKQUIT       = 200
  13. CONST DESTPATH      = 300
  14. CONST EXITFAILURE   = 400
  15. CONST EXITQUIT      = 600
  16. CONST EXITSUCCESS   = 700
  17. CONST APPHELP       = 900
  18. CONST TOOBIG        = 6300
  19. CONST BADPATH       = 6400
  20.  
  21. ''Bitmap ID
  22. CONST LOGO = 1
  23.  
  24. GLOBAL DEST$        ''Default destination directory.
  25. GLOBAL WINDRIVE$    ''Windows drive letter.
  26. GLOBAL WINDIR$      ''Windows directory letter.
  27. GLOBAL NEEDED&          ''Number of bytes still needed.
  28.  
  29. '' List symbol names
  30. GLOBAL EXTRACOSTS$       ''List of extra costs to add per drive
  31. GLOBAL NEEDEDCOSTS$  ''List of costs needed per drive
  32.  
  33. DECLARE SUB MakeInstallList
  34. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  35.  
  36.  
  37. INIT:
  38.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  39.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  40.  
  41.     SetBitmap CUIDLL$, LOGO
  42.     SetTitle "Program Installation"
  43.  
  44.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  45.     IF szInf$ = "" THEN
  46.     szInf$ = GetSymbolValue("STF_CWDDIR") + "CORPINS.INF"
  47.     END IF
  48.     ReadInfFile szInf$
  49.  
  50.     DEST$ = "C:\SIZZLIN"
  51.     WINDIR$ = GetWindowsDir
  52.     WINDRIVE$ = MID$(WINDIR$, 1, 1)
  53.  
  54. '$IFDEF DEBUG
  55.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  56.     IF IsDriveValid(WINDRIVE$) = 0 THEN
  57.     i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  58.     GOTO QUIT
  59.     END IF
  60. '$ENDIF ''DEBUG
  61.  
  62.  
  63. WELCOME:
  64.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  65.     IF sz$ = "CONTINUE" THEN
  66.     UIPop 1
  67.     ELSE
  68.     GOSUB ASKQUIT
  69.     GOTO WELCOME
  70.     END IF
  71.  
  72.  
  73. GETPATH:
  74.     SetSymbolValue "EditTextIn", DEST$
  75.     SetSymbolValue "EditFocus", "END"
  76. GETPATHL1:
  77.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  78.     DEST$ = GetSymbolValue("EditTextOut")
  79.  
  80.     IF sz$ = "CONTINUE" THEN
  81.     IF IsDirWritable(DEST$) = 0 THEN
  82.         GOSUB BADPATH
  83.         GOTO GETPATHL1
  84.     END IF
  85.     UIPop 1
  86.     ELSEIF sz$ = "REACTIVATE" THEN
  87.     GOTO GETPATHL1
  88.     ELSEIF sz$ = "BACK" THEN
  89.     UIPop 1
  90.     GOTO WELCOME
  91.     ELSE
  92.     GOSUB ASKQUIT
  93.     GOTO GETPATH
  94.     END IF
  95.  
  96.     MakeInstallList
  97.  
  98.     IF NEEDED& > 0 THEN
  99.         GOTO TOOBIG
  100.     ELSE
  101.         CopyFilesInCopyList
  102. SrcDir$ = GetSymbolValue("STF_SRCDIR")
  103.         CreateProgmanItem "SIZZLIN ","Main Feature - CD Required", MakePath(MID$(SRCDIR$,1,2), "movie.exe"),"movie.ico", cmoOverwrite
  104.         CreateProgmanItem "SIZZLIN ","Media Player ", MakePath(DEST$,"mplayer.exe"), "", cmoOverwrite
  105.         CreateProgmanItem "SIZZLIN ","Photo Viewer - CD Required", MakePath(SRCDIR$, "mss.exe"),"mss.ico", cmoOverwrite
  106.         CreateProgmanItem "SIZZLIN ","SS 256-Color Help - CD Required", MakePath(MID$(SRCDIR$,1,2),"drivers\ssutil.exe"), "ssutil.ico", cmoOverwrite
  107.         CreateProgmanItem "SIZZLIN ","Video for Windows - CD Required", MakePath(MID$(SRCDIR$,1,2),"vfw11a\setup.exe"), "vfw.ico", cmoOverwrite
  108.         
  109.     ini$ = MakePath(WINDIR$, "CONTROL.INI")
  110.     CreateIniKeyValue ini$, "ScreenSaver.photo Screensaver ", "IMAGE DIR", DEST$, cmoNone
  111.     ini$ = MakePath(WINDIR$, "AD_PREFS.INI")
  112.     CreateIniKeyValue ini$, "Photo Screen Saver ", "ImageDir", DEST$, cmoNone
  113. SrcDir$ = GetSymbolValue("STF_SRCDIR")
  114. ini$ = MakePath(WINDIR$, "WIN.INI")
  115.     CreateIniKeyValue ini$, "Multimedia Screensaver ", "Wavefile", MakePath(MID$(SRCDIR$,1,3),"mss.wav"), cmoNone
  116.  
  117.     ENDIF
  118.  
  119.  
  120. QUIT:
  121.     ON ERROR GOTO ERRQUIT
  122.  
  123.     IF ERR = 0 THEN
  124.     dlg% = EXITSUCCESS
  125.     ELSEIF ERR = STFQUIT THEN
  126.     dlg% = EXITQUIT
  127.     ELSE
  128.     dlg% = EXITFAILURE
  129.     END IF
  130. QUITL1:
  131.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  132.     IF sz$ = "REACTIVATE" THEN
  133.     GOTO QUITL1
  134.     END IF
  135.     UIPop 1
  136.  
  137.     END
  138.  
  139. ERRQUIT:
  140.     i% = DoMsgBox("Setup sources were corrupted, call Desktop Software Inc. at 203-741-8535.", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  141.     END
  142.  
  143.  
  144.  
  145. BADPATH:
  146.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  147.     IF sz$ = "REACTIVATE" THEN
  148.     GOTO BADPATH
  149.     END IF
  150.     UIPop 1
  151.     RETURN
  152.  
  153.  
  154.  
  155. ASKQUIT:
  156.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  157.  
  158.     IF sz$ = "EXIT" THEN
  159.     UIPopAll
  160.     ERROR STFQUIT
  161.     ELSEIF sz$ = "REACTIVATE" THEN
  162.     GOTO ASKQUIT
  163.     ELSE
  164.     UIPop 1
  165.     END IF
  166.     RETURN
  167.  
  168.  
  169. TOOBIG:
  170.     sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfo0DlgProc", 0, "")
  171.     IF sz$ = "REACTIVATE" THEN
  172.     GOTO TOOBIG
  173.     END IF
  174.     UIPop 1
  175.     RETURN
  176.  
  177.  
  178.  
  179. '**
  180. '** Purpose:
  181. '**     Builds the copy list and performs all installation operations.
  182. '** Arguments:
  183. '**     none.
  184. '** Returns:
  185. '**     none.
  186. '*************************************************************************
  187. SUB MakeInstallList STATIC
  188.  
  189.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  190.     CreateDir DEST$, cmoNone
  191.  
  192. '' Corporate Screensaver Files
  193.     AddSectionFilesToCopyList "FILES", SrcDir$, DEST$
  194.  
  195.  
  196. '' Windows 3.1 screen saver files
  197.     AddSectionFilesToCopyList "WINSAVER", SrcDir$, WINDIR$
  198.  
  199. '' Images
  200.     AddSectionFilesToCopyList "IMAGES", SrcDir$, DEST$
  201.  
  202. '' Check enough disk space.
  203.     EXTRACOSTS$ = "ExtraCosts"
  204.     NEEDEDCOSTS$ = "NeededCosts"
  205.     FOR i% = 1 TO 26 STEP 1
  206.     AddListItem EXTRACOSTS$, "0"
  207.     AddListItem NEEDEDCOSTS$, "0"
  208.     NEXT i%
  209.     ''Add extra cost to Windows drive for ini/progman, etc.
  210.     ndrive% = ASC(ucase$(WINDRIVE$)) - ASC("A") + 1
  211.     ReplaceListItem EXTRACOSTS$, ndrive%, "10240"
  212.  
  213.     NEEDED& = GetCopyListCost(EXTRACOSTS$,NEEDEDCOSTS$,"")
  214.  
  215. END SUB
  216.  
  217.  
  218.  
  219. '**
  220. '** Purpose:
  221. '**     Appends a file name to the end of a directory path,
  222. '**     inserting a backslash character as needed.
  223. '** Arguments:
  224. '**     szDir$  - full directory path (with optional ending "\")
  225. '**     szFile$ - filename to append to directory
  226. '** Returns:
  227. '**     Resulting fully qualified path name.
  228. '*************************************************************************
  229. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  230.     IF szDir$ = "" THEN
  231.     MakePath = szFile$
  232.     ELSEIF szFile$ = "" THEN
  233.     MakePath = szDir$
  234.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  235.     MakePath = szDir$ + szFile$
  236.     ELSE
  237.     MakePath = szDir$ + "\" + szFile$
  238.     END IF
  239. END FUNCTION
  240.  
  241.